This is the help file for BOOT.ASM. This code allows application code
to be booted from the FLASH EEPROM on the DSP56002 EVM. The code will
write both internal and external P, X, and Y RAM to the EEPROM, and
recall it at reset.

First, there are a few important things you need to know.

1. The boot/loader code uses/requires 512 words of external P RAM.
   This is defined to start at $7D00 (BEGIN) in BOOT.ASM, which you
   can change if you need to.

2. The area of EEPROM from P:$C000 to P:$D200 is reserved. It is
   used to store the boot/loader code, and internal P, X, and Y
   RAM.

3. External P, X, and Y RAM is also written to the EEPROM and
   recalled at boot time. You will probably need to modify several
   definitions in BOOT.ASM to reflect the locations and number of
   words of P, X, and Y RAM you are using.

	RAM_P_EXT       start address for external P RAM
        RAM_X_EXT       start address for external X RAM
        RAM_Y_EXT       start address for external Y RAM
        EEPROM_P_EXT    start address for storing P RAM in EEPROM
        EEPROM_X_EXT    start address for storing X RAM in EEPROM
        EEPROM_Y_EXT    start address for storing Y RAM in EEPROM
        BLOCKS_P_EXT    number of 64 word P RAM blocks to copy
        BLOCKS_X_EXT    number of 64 word X RAM blocks to copy
        BLOCKS_Y_EXT    number of 64 word Y RAM blocks to copy

4. You should make sure there is enough room in the EEPROM for
   all of the P, X, and Y RAM you need to store. The number of bytes
   of EEPROM you need for a given memory space is:

                bytes = blocks*64*3  (blocks*64 = number of words)


Using the code is simple if you follow these steps:

1. Install a AT29C256 FLASH EEPROM into the socket on the EVM
   board.

2. Power up the EVM and start the EVM debugger.

3. Load the application into the EVM. Just type 'load yourcode.cld'

4. On the EVM command line, type 'flash'. This will load the boot
   code and execute it. When it halts, the application code has been
   copied to the EEPROM, including a boot loader which is copied
   to P:$C000.

5. You can check if your code boots properly from the EEPROM
   by typing 'boot'. This will cause the DSP to enter the bootstrap
   mode which will load the boot code from the EEPROM, then load
   the P, X, and Y RAM from EEPROM and jump to the reset vector
   to execute the application. Use the EVM debugger to verify that
   your code is loaded and running.

6. Now your code will boot from the EEPROM at reset or power
   up so that you don't need to load it with the EVM debugger all
   the time.


If you have questions/comments, email me at cmh@world.std.com.

Good Luck,

Chris Hanna


